﻿using System;
using System.Collections.Generic;

namespace SimpleFS.Core
{
    public interface IDirectory : IFileSystemObject
    {
        IDirectory[] Directories
        {
            get;
        }

        IFile[] Files
        {
            get;
        }

        void Create();

        IDirectory GetDirectory(string directoryName);

        IFile GetFile(string fileName);

        /// <summary>
        /// Returns a virtual file object.
        /// </summary>
        /// <param name="fileName"></param>
        /// <returns></returns>
        IFile AddFile(string fileName);

        /// <summary>
        /// Returns a virtual directory object.
        /// </summary>
        /// <param name="directoryName"></param>
        /// <returns></returns>
        IDirectory AddDirectory(string directoryName);
    }
}
